Multiple-input multiple-output (MIMO) communication systems use multiple data streams. Precoding can be provided to manipulate multiple data streams in MIMO communication systems by applying precoding matrices to the data streams.